home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d4 / iq.arc / NUMBERS2.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-11-13  |  4.2 KB  |  109 lines

  1. 10  KEY OFF:KEY(10) ON:ON KEY(10) GOSUB 660:KEY(9) ON:ON KEY(9) GOSUB 420:DIM S(25):FOR I=1 TO 25:S(I)=I:NEXT I:COLOR 3,0,8
  2. 20  CLS:T=0:N=0:GOSUB 1070:FOR I=1 TO 100:SWAP S(INT(RND*25+1)),S(INT(RND*25+1)):NEXT I
  3. 30  CLS:LOCATE 1,34:COLOR 0,7:PRINT" IQ Builder ":COLOR 11,0
  4. 40  LOCATE 2,35:PRINT"Numbers 2":COLOR 0,11
  5. 50  LOCATE 4,21:PRINT CHR$(201);
  6. 60  FOR J=1 TO 35
  7. 70    PRINT CHR$(205);
  8. 80    IF J > 35 GOTO 100
  9. 90    NEXT J
  10. 100  PRINT CHR$(187)
  11. 110  LOCATE 5,21:PRINT CHR$(186);:PRINT"Press <F9> to skip to next section.";
  12. 120  PRINT CHR$(186)
  13. 130  LOCATE 6,21:PRINT CHR$(186);:PRINT"Press <F10> to return to main menu.";
  14. 140  PRINT CHR$(186)
  15. 150  LOCATE 7,21:PRINT CHR$(200);
  16. 160  FOR J=1 TO 35
  17. 170    PRINT CHR$(205);
  18. 180    IF J > 35 GOTO 200
  19. 190    NEXT J
  20. 200  PRINT CHR$(188):COLOR 3,0
  21. 210  LOCATE 9,1:PRINT"There are 25 series to solve in this lesson.  You'll get three chances to"
  22. 220  PRINT"solve each one.  If you're having trouble, the computer will give you a hint."
  23. 230  FOR I=1 TO 100:SWAP S(INT(RND*25+1)),S(INT(RND*25+1)):NEXT I:XX=1:N=S(XX)
  24. 240  RESTORE
  25. 250  IF N>1 THEN FOR O=1 TO N-1:READ A,B,C,D,E,F,G,H,I,J,K,A$:NEXT O:Q=N-1
  26. 260  READ A,B,C,D,E,F,G,H,I,J,K,A$
  27. 270  T=T+1:Q=Q+1
  28. 280  PRINT:PRINT"Series" Q:COLOR 3,0:PRINT
  29. 290  PRINT"Enter the next two numbers in this series, separating them with a comma:"
  30. 300  PRINT:GOSUB 750:PRINT:COLOR 3,0
  31. 310  COLOR 3,0:INPUT "The next two numbers are: ",X,Y
  32. 320  Y1=CSRLIN:X1=POS(0)
  33. 330  IF (X=I)*(Y=J) THEN 380
  34. 340  Z=Z+1:IF Z=3 THEN 370
  35. 350  IF Z=2 THEN GOSUB 680:GOTO 310
  36. 360  LOCATE 25,1:PRINT SPC(79);:PLAY "mfn27n20t32":LOCATE 25,1:COLOR 11,4:PRINT"No!  Try again.";:COLOR 3,0:TIMEOUT=3:GOSUB 1040:LOCATE 25,1:PRINT SPC(79);:LOCATE Y1-1,X1+25:PRINT SPC(6):LOCATE ,X1:GOTO 310
  37. 370  PLAY "mbn26n20t35":PRINT:COLOR 11,4:PRINT"No!  The answer is:  " I "," J;:GOTO 400
  38. 380  IF Z=0 THEN R=R+1
  39. 390  LOCATE 25,1:PRINT SPC(79);:LOCATE 25,1:PRINT"Right!";:TIMEOUT=3:GOSUB 1040:LOCATE 25,1:PRINT SPC(79);:LOCATE Y1,X1
  40. 400  XX=XX+1:Z=0
  41. 410  IF XX<26 THEN S=S(XX):GOSUB 1030:GOTO 230
  42. 420  COLOR 11,4:LOCATE 1,1:PRINT SPC(33):LOCATE 1,45:PRINT SPC(35)
  43. 430  LOCATE 2,1:PRINT SPC(33):LOCATE 2,45:PRINT SPC(35)
  44. 440  LOCATE 3,1:PRINT SPC(79)
  45. 450  LOCATE 4,1:PRINT SPC(20):LOCATE 4,58:PRINT SPC(22)
  46. 460  LOCATE 5,1:PRINT SPC(20):LOCATE 5,58:PRINT SPC(22)
  47. 470  LOCATE 6,1:PRINT SPC(20):LOCATE 6,58:PRINT SPC(22)
  48. 480  LOCATE 7,1:PRINT SPC(20):LOCATE 7,58:PRINT SPC(22)
  49. 490  LOCATE 8,1:PRINT SPC(79)
  50. 500  LOCATE 9,1:PRINT SPC(79)
  51. 510  LOCATE 10,1:PRINT SPC(79)
  52. 520  COLOR 11,4:GOSUB 1030:PRINT:COLOR 3,0:LOCATE 15,17
  53. 530  IF N<3 THEN COLOR 11,0:PRINT"You didn't give me much of a chance, did you?":GOTO 600
  54. 540  PRINT"You scored" R "right out of" T "or" INT(100*R/T) "percent."
  55. 550  IF R/T<0.6 THEN LOCATE 18,21:PRINT"I'll bet you do better next time.":TIMEOUT=7:GOSUB 1040:RUN
  56. 560  LOCATE 18,34:IF R/T<=0.8 THEN PRINT"Good score!":GOTO 600
  57. 570  IF R/T<=0.9 THEN PRINT"Very good!":GOTO 600
  58. 580  IF R/T<=0.99 THEN PRINT"Excellent!":GOTO 600
  59. 590  COLOR 19,0:PRINT"Brilliant!"
  60. 600  COLOR 3,0:LOCATE 25,1:PRINT "Press space bar to continue.";
  61. 610  IN$=INKEY$:IF IN$="" THEN 610 ELSE GOTO 670
  62. 620  GOSUB 1030:N=S(XX)
  63. 630  RESTORE
  64. 640  IF N>1 THEN FOR O=1 TO N-1:READ A,B,C,D,E,F,G,H,I,J,K,A$:NEXT O:Q=N-1
  65. 650  GOTO 260
  66. 660  SYSTEM
  67. 670  RUN "NUMBERS3
  68. 680  PLAY "mbn24n19t35":LOCATE 25,1:COLOR 0,4:PRINT"No!  Hint: ";:GOSUB 1040
  69. 690  IF K=1 THEN PRINT"The numbers change by their rule " A$;
  70. 700  IF K=2 THEN PRINT"Look for more than one rule.  One rule is " A$;
  71. 710  IF K=3 THEN PRINT"The amount of change gets " A$ " each time.";
  72. 720  IF K=4 THEN PRINT"Alternating series.  One rule is " A$;
  73. 730  IF K=5 THEN PRINT"Look for groups of " A$ " numbers.";
  74. 740  GOSUB 1040:LOCATE Y1-1,X1+25:PRINT SPC(6):LOCATE ,X1:RETURN
  75. 750  PRINT:COLOR 4,11:LOCATE ,23:PRINT "VARPTR" STRING$(32,"SOUND") "COLOR"
  76. 760  LOCATE ,23:PRINT "CALL";:COLOR 11,4:PRINT A B C D E F G H;:COLOR 4,11:PRINT "CALL"
  77. 770  LOCATE ,23:PRINT "CLS" STRING$(32,"SOUND") "'":PRINT:RETURN
  78. 780  DATA 10,15,20,25,30,35,40,45,50,55,1,+5
  79. 790  DATA 13,15,17,19,21,23,25,27,29,31,1,+2
  80. 800  DATA 10,15,14,19,18,23,22,27,26,31,2,-1
  81. 810  DATA 10,13,16,19,22,25,28,31,34,37,1,+3
  82. 820  DATA 14,15,15,16,17,17,18,19,19,20,2,+0
  83. 830  DATA 29,16,27,17,25,18,23,19,21,20,4,-2
  84. 840  DATA 48,44,40,36,32,28,24,20,16,12,1,-4
  85. 850  DATA 11,12,14,15,17,18,20,21,23,24,1,+2
  86. 860  DATA 32,16,31,17,30,18,29,19,28,20,4,-1
  87. 870  DATA 12,10,15,11,18,12,21,13,24,14,4,+3
  88. 880  DATA 15,18,14,17,13,16,12,15,11,14,4,-1
  89. 890  DATA 11,15,15,12,21,21,13,27,27,14,4,+6
  90. 900  DATA 13,10,19,16,25,22,31,28,37,34,2,+2
  91. 910  DATA 11,16,21,26,31,36,41,46,51,56,1,+5
  92. 920  DATA 30,28,26,24,22,20,18,16,14,12,1,-2
  93. 930  DATA 18,23,27,32,36,41,45,50,54,59,2,+9
  94. 940  DATA 13,14,10,15,16,10,17,18,10,19,4,+0
  95. 950  DATA 10,14,15,19,20,24,25,29,30,34,2,+4
  96. 960  DATA 12,10,11,12,12,13,12,14,15,12,4,+1
  97. 970  DATA 12,17,22,22,32,27,42,32,52,37,4,+5
  98. 980  DATA 10,13,16,19,22,25,28,31,34,37,1,+3
  99. 990  DATA 35,12,35,13,34,14,34,15,33,16,4,+1
  100. 1000  DATA 10,14,12,13,14,12,16,11,18,10,4,+2
  101. 1010  DATA 10,14,16,20,22,26,28,32,34,38,2,+4
  102. 1020  DATA 21,15,19,17,17,19,15,21,13,23,4,-2
  103. 1030  FOR Y=11 TO 24:LOCATE Y,1:PRINT SPC(79);:NEXT Y:LOCATE 11,1:RETURN
  104. 1040  TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  105. 1050  TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  106. 1060  IF TIMEOUT > TIME3 - TIME2 THEN 1050 ELSE RETURN
  107. 1070  RNDTIME$=TIME$:RNDVAL=VAL(LEFT$(RNDTIME$,2))*120+VAL(MID$(RNDTIME$,4,2))*60+VAL(RIGHT$(RNDTIME$,2)):RANDOMIZE RNDVAL:RETURN
  108. 1080  IKEY$=INKEY$:IF IKEY$="" THEN 1080 ELSE RETURN
  109.